// pages/settings/settings.js
const app = getApp()

Page({
  /**
   * 页面的初始数据
   */
  data: {
    isLoggedIn: false,
    userInfo: null,
    settings: {
      notification: true,
      autoSave: true,
      darkMode: false,
      language: '简体中文',
      fontsize: '中'
    },
    languages: ['简体中文', 'English', '日本語', '한국어'],
    fontsizes: ['小', '中', '大', '特大']
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.checkLoginStatus();
    this.loadSettings();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    this.checkLoginStatus();
  },

  /**
   * 检查登录状态
   */
  checkLoginStatus: function () {
    const isLoggedIn = app.globalData.isLoggedIn;
    const userInfo = app.globalData.userInfo;

    this.setData({
      isLoggedIn: isLoggedIn,
      userInfo: userInfo
    });
  },

  /**
   * 加载设置
   */
  loadSettings: function () {
    // 从本地存储加载设置
    const settings = wx.getStorageSync('settings');
    if (settings) {
      this.setData({
        settings: settings
      });
    }
  },

  /**
   * 保存设置
   */
  saveSettings: function () {
    // 保存设置到本地存储
    wx.setStorageSync('settings', this.data.settings);
    wx.showToast({
      title: '设置已保存',
      icon: 'success',
      duration: 2000
    });
  },

  /**
   * 切换通知设置
   */
  toggleNotification: function (e) {
    this.setData({
      'settings.notification': e.detail.value
    });
    this.saveSettings();
  },

  /**
   * 切换自动保存设置
   */
  toggleAutoSave: function (e) {
    this.setData({
      'settings.autoSave': e.detail.value
    });
    this.saveSettings();
  },

  /**
   * 切换深色模式设置
   */
  toggleDarkMode: function (e) {
    this.setData({
      'settings.darkMode': e.detail.value
    });
    this.saveSettings();

    // 应用深色模式
    if (e.detail.value) {
      wx.setNavigationBarColor({
        frontColor: '#ffffff',
        backgroundColor: '#333333'
      });
    } else {
      wx.setNavigationBarColor({
        frontColor: '#000000',
        backgroundColor: '#ffffff'
      });
    }
  },

  /**
   * 选择语言
   */
  selectLanguage: function (e) {
    this.setData({
      'settings.language': this.data.languages[e.detail.value]
    });
    this.saveSettings();
  },

  /**
   * 选择字体大小
   */
  selectFontsize: function (e) {
    this.setData({
      'settings.fontsize': this.data.fontsizes[e.detail.value]
    });
    this.saveSettings();
  },

  /**
   * 清除缓存
   */
  clearCache: function () {
    wx.showModal({
      title: '清除缓存',
      content: '确定要清除所有缓存数据吗？',
      success: (res) => {
        if (res.confirm) {
          // 清除缓存
          wx.clearStorage({
            success: () => {
              wx.showToast({
                title: '缓存已清除',
                icon: 'success',
                duration: 2000
              });

              // 重新加载设置
              this.loadSettings();
            }
          });
        }
      }
    });
  },

  /**
   * 关于我们
   */
  goToAbout: function () {
    wx.navigateTo({
      url: '/pages/about/about'
    });
  },

  /**
   * 意见反馈
   */
  goToFeedback: function () {
    wx.navigateTo({
      url: '/pages/feedback/feedback'
    });
  }
})
